package com.gjy.rabbitmq.resolve;

import com.rabbitmq.client.AMQP;
import com.rabbitmq.client.Envelope;

/**
 * 消息处理器接口
 * 定义消息处理的统一接口
 *
 * @author gjy
 * @version 1.0
 * @since 2025-10-13 14:39:54
 */
@FunctionalInterface
public interface MessageProcessor {
    /**
     * 处理消息
     *
     * @param message    消息内容
     * @param properties 消息属性
     * @param envelope   交付信息
     * @return 处理是否成功
     * @throws Exception 处理异常
     */
    boolean process(String message, AMQP.BasicProperties properties, Envelope envelope)
            throws Exception;
}

